package com.scs.application.modules.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityIndexAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 *
 * </p>
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "院方病人信息表")
@TableName("dept_patient")
@EntityIndexAnnotation(ux = {"no"})
public class Patient extends DataEntity {


    // id ,在父类中处理

    @EntityFieldAnnotation(
            text = "住院号",
            length = "50",
            default_value = "",
            comment = "患者住院唯一标识"
    )
    private String inpatientNo;

    @EntityFieldAnnotation(
            text = "住院流水号",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String inpatientSn;

    @EntityFieldAnnotation(
            text = "门诊号",
            length = "50",
            default_value = "",
            comment = "患者门诊唯一标识"
    )
    private String outpatientNo;

    @EntityFieldAnnotation(
            text = "门诊流水号",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String outpatientSn;

    @EntityFieldAnnotation(
            text = "就诊科室代码",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String outDeptCode;


    @EntityFieldAnnotation(
            text = "就诊科室",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String outDept;


    @EntityFieldAnnotation(
            text = "当前住院科室代码",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String inDeptCode;

    @EntityFieldAnnotation(
            text = "当前住院科室",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String inDept;


    // creator ,在父类中处理


    // gmt_create ,在父类中处理


    // modifier ,在父类中处理


    // gmt_modified ,在父类中处理

    @EntityFieldAnnotation(
            text = "病案号",
            length = "50",
            not_null = true,
            default_value = "",
            comment = "患者唯一标识"
    )
    private String no;

    @EntityFieldAnnotation(
            text = "病人类型: 0:住院病人；1:门诊病人",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String type;

    @EntityFieldAnnotation(
            text = "身份证号",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String idCode;

    @EntityFieldAnnotation(
            text = "床位号",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String bedNo;

    @EntityFieldAnnotation(
            text = "姓名",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String name;

    @EntityFieldAnnotation(
            text = "性别",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String gender;

    @EntityFieldAnnotation(
            text = "年龄",
            length = "",
            default_value = "",
            comment = ""
    )
    private Integer age;

    @EntityFieldAnnotation(
            text = "电话",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String tel;

    @EntityFieldAnnotation(
            text = "住址",
            length = "100",
            default_value = "",
            comment = ""
    )
    private String address;

    @EntityFieldAnnotation(
            text = "HIS生成日期",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date mdate;

    @EntityFieldAnnotation(
            text = "备注",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String remark;

    @EntityFieldAnnotation(
            text = "his的患者id",
            length = "50",
            type = EntityFieldType.LONG,
            default_value = "",
            comment = ""
    )
    private String hisPatientId;


}
